<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>TodoList</title>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="app">
       <input type="text" v-model='inputValue'>
       <button v-on:click='handleBtnClick'>提交</button>
       <ul>
           <todo-item  v-bind:content="item"
                       v-bind:index="index"
                       v-for = "item in list" 
                       @delete = "handleItemDelete">

           </todo-item>
       </ul>
    </div>
    <script>
        //  MVVM  设计模式   view  model
        //  v-on:  简写 ：@
        //   v-bind :简写 :
        //  全局组件
        // Vue.component("TodoList",{
        //     props:['content'],    // 接收父组件的值  子组件接收父组件的值  父组件向子组件传值  v-bind
        //     template:"<li>{{content}}</li>",  //  在模板里一定要使用插值表达式
        // });
        //  局部组件
        var TodoItem = {
            props:['content','index'],
            template:"<li @click = 'handleItemClick'>{{content}}</li>",
            methods:{
                handleItemClick:function(){
                    this.$emit('delete',this.index)
                }
            }
        }
        var app = new Vue({
            el:'#app',
            //  注册局部组件到 vue实例
            components:{
                TodoItem: TodoItem
            },
            data:{
                list:[],
                inputValue:''
            },
            methods:{
                handleBtnClick:function(){
                    this.list.push(this.inputValue);
                    this.inputValue = "";
                },
                handleItemDelete:function(index){
                    this.list.splice(index,1);
                }
            }
        });
    </script>
</body>
</html>